/**	@file models.h
 *	
 */
#ifndef _STRUTTURE_H_
#define _STRUTTURE_H_


struct Drago {
	int ID; /**< IDS di tipo ::GIOCATORE*/
	int x; /**<Posizione sulle x*/
	int y;/**<Posizione sulle y*/
	int vite;/**< l'oggetto ha un numero di vite finite le quali muore*/
	int velocita;/**<Numero di pixel con i quali si sposta*/
	int boundx;/**<Numero di pixel che formano l'oggetto sulle x*/
	int boundy;/**<Numero di pixel che formano l'oggetto sulle y*/
	int punti;/**<Score del giocatore*/

	int maxFrame;
	int frameAttuale;
	int frameCount;
	int frameRit;
};

struct Frutta {
	int ID;/**< IDS di tipo ::FRUTTO*/
	int x;/**<Posizione sulle x*/
	int y;/**<Posizione sulle y*/
	bool vivo;/**<Se l'oggetto è vivo viene disegnato*/
	int velocita;/**<Numero di pixel con i quali si sposta*/
	int boundx;/**<Numero di pixel che formano l'oggetto sulle x*/
	int boundy;/**<Numero di pixel che formano l'oggetto sulle y*/
	int tipo;/**< frutto o dolce, viene caricato a random durante l'inizializzazione*/
};

struct Robot {
	int ID;/**< IDS di tipo ::NEMICO*/
	int x;/**<Posizione sulle x*/
	int y;/**<Posizione sulle y*/
	bool vivo;/**<Se l'oggetto è vivo viene disegnato*/
	int velocita;/**<Numero di pixel con i quali si sposta*/
	int boundx;/**<Numero di pixel che formano l'oggetto sulle x*/
	int boundy;/**<Numero di pixel che formano l'oggetto sulle y*/

	int maxFrame;/**<Numero di frame massimo per questo oggetto(numero di immagini dedicate)*/
	int frameAttuale;/**<Numero di frame attuale (immagine attuale) nell'array*/
	int frameCount; /**<Contatore dei frame dell'oggetto*/
	int frameRit;/**< Ritardo con cui i frame (immagini) devono essere disegnate*/
};

struct Bolle {
	int ID;/**< IDS di tipo ::BOLLA*/
	int x;/**<Posizione sulle x*/
	int y;/**<Posizione sulle y*/
	bool vivo;/**<Se l'oggetto è vivo viene disegnato*/
	int velocita;/**<Numero di pixel con i quali si sposta*/
	int raggio; /**<Raggio della bolla*/
};

struct Sfondo {
	
	float x;/**<Posizione sulle x*/
	float y;/**<Posizione sulle y*/
	float velX;/**<Numero di pixel con i quali si sposta, sono definiti passandoli a funzione crea_sfondo*/
	float velY;/**<Numero di pixel con i quali si sposta, sono definiti passandoli a funzione crea_sfondo*/
	int dirX;
	int dirY;

	int width;/**<Larghezza dell'immagine*/
	int height;/**<Altezza dell'immagine*/
	ALLEGRO_BITMAP *immagine; /**<Immagine caricata*/
};

#endif
